<?php

$config = Config::getInstance();

if(!$config->checkGerentConfirm()){
    $config->throwAjaxError("Essa operação necessita da autorização do gerente.");
}

$controller = $config->currentController;

$venda = $config->filter("venda");

if(empty($venda)){
    $config->throwAjaxError("Venda Inválida");
}

$desconto       = str_replace(',', '.', $config->filter("desconto"));
$restante       = $controller->getRestanteOfVenda($venda);
$restanteCalc   = $controller->getRestanteOfVenda($venda, true);

$max            = $config->maskDinheiro($restanteCalc * 0.2);
$max            = str_replace(",", ".", $max);

if($desconto > $max){
    $max_value = $config->maskDinheiro($max);
    $config->throwAjaxError("O desconto não pode ser maior que 20% do restante (R$ $max_value)");
}

$cobrador   = $config->filter("cobrador");
$data       = $config->filter("data");

$parcelas    = $controller->getParcleasByVenda($venda, ParcelaController::PARCELAS_NAO_PAGAS);
if(!empty($parcelas)){
    $parcela = $parcelas[0];
} else $config->throwAjaxError("Não há parcelas a pagar");

$page_all   = $controller->darBaixaEmParcela($parcela, $restante, $cobrador, $data, true);

if($page_all) { 
    //Adicionar desconto nas parcelas e pagamentos aqui
    $parcela_desconto = new Parcela( $parcelas[count($parcelas) -1]->numero + 1, 
                                     date("Y-m-d"), null, -$desconto, true, $venda );
    $controller->addParcela($parcela_desconto);
    
    include_once CONTROLLERS."venda.php";
    $venda_controller = new VendaController();
    $venda_controller->checkAndTurnStatus($venda);
    
    $config->throwAjaxSuccess(null, "Todas as parcelas foram quitadas");    
}
else $config->throwAjaxError("Falha ao quitar todas as parcepas");

?>
